package com.lanou3g.code0418.dirty;

/**
 * Created by dllo on 18/4/17.
 */
public class Main {
    public static void main(String[] args) {
        final Person person = new Person("张三",18);
        final Utils utils = new Utils();


        new Thread(){
            @Override
            public void run() {
                utils.updataPerson(person,"李四",19);//内部类中想使用外部定义的局部变量
            }                                        //该局部变量需要是final类型
        }.start();                                   //若8和9行没有标明为final类 则
                                                     //默认其为final类型
                                                     //若
/*
        //为了演示脏读,让线程停止500ms,保证修改了用户名,还没来得及修改年龄
        try {
            Thread.sleep(500);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
*/
        new Thread(new Runnable() {
            @Override
            public void run() {
                utils.showPerson(person);
            }
        }).start();
    }
}
